package handler

import (
	"LogiTrans/model"
	"github.com/gin-gonic/gin"
	"strconv"
)

func RoleAddNode(c *gin.Context) {

	rid, _ := strconv.Atoi(c.PostForm("rid"))
	nid, _ := strconv.Atoi(c.PostForm("nid"))

	data := model.RoleNode{
		Rid: rid,
		Nid: nid,
	}
	model.DB.Create(&data)

	c.JSON(200, gin.H{
		"code": 200,
		"msg":  "添加成功",
	})
	return
}

func UserRole(c *gin.Context) {
	uid := c.Query("uid")

	/*
			SELECT
		  *
		FROM
		  roles
		  LEFT JOIN user_roles ON user_roles.rid = roles.id
		WHERE
		  user_roles.uid = 1
	*/
	var role []model.Role
	model.DB.Table("roles").
		Joins("LEFT JOIN user_roles ON user_roles.rid = roles.id").
		Where("user_roles.uid = ?", uid).
		Debug().
		Find(&role)

	c.JSON(200, gin.H{
		"code": 200,
		"msg":  "ok",
		"data": role,
	})
	return
}

func RoleNode(c *gin.Context) {
	rid := c.Query("rid")
	/*
	   SELECT
	     *
	   FROM
	     nodes
	     LEFT JOIN role_nodes ON role_nodes.nid = nodes.id
	     WHERE
	     role_nodes.rid=1
	*/
	var node []model.Node
	model.DB.Table("nodes").
		Joins("LEFT JOIN role_nodes ON role_nodes.nid = nodes.id").
		Where("role_nodes.rid=?", rid).
		Debug().
		Find(&node)

	c.JSON(200, gin.H{
		"code": 200,
		"msg":  "ok",
		"data": node,
	})
	return
}
